package com.example.texted.volatiletest;

import com.example.texted.volatiletestthread.MyThread;

/**
 * 变量的内存可见性例子
 */
public class VolatileExample {

    /**
     * main 方法作为一个主线程
     */
    public static void main(String[] args) {
        MyThread myThread = new MyThread();
        // 开启线程
        myThread.start();

        // 主线程执行
        for (long t = System.currentTimeMillis(); System.currentTimeMillis() - t < 3000; ) {
            if (myThread.isFlag()) {
                System.out.println("主线程访问到 flag 变量");
                break;
            }
//            }else {
//                System.out.println("主线程没有访问到 flag 变量");
//            }
//            try {
//                Thread.sleep(500);
//            } catch (InterruptedException e) {
//                e.printStackTrace();
//            }
        }
    }

}
